package cn.itcast.dao;

import cn.itcast.pojo.Role;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface RoleDao {
    Integer save(Role role);

    Page<Role> selectByCondition(String queryString);

    Integer delete(Integer id);

    Integer edit(Role role);

    Role findById(Integer id);

    Integer saveRoleAndPermission(@Param("roleId") Integer roleId, @Param("permissionId") Integer permissionId);

    Integer saveRoleAndMenu(@Param("roleId") Integer roleId,@Param("menuId") Integer menuId);

    List<Integer> findMenuIdsByRoleId(Integer roleId);

    List<Integer> findPermissionIdsByRoleId(Integer roleId);

    void deleteRoleAndMenu(Integer roleId);

    void deleteRoleAndPermission(Integer roleId);

    Role findByName(String name);

    List<Role> findAll();

    void deleteRoleAndUser(Integer roleId);

    Integer findUsrIdsByRoleId(Integer roleId);
}
